package com.love.marriage.eventRegistrationInfo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.love.marriage.common.entity.BaseEntity;
import com.love.marriage.config.Long2StringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * description:  活动报名表类
 * author:       alex
 * createDate: 2024-10-15 04:29:12
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("event_registration_info_t")
@Schema(description = "活动报名表")
public class EventRegistrationInfo extends BaseEntity<EventRegistrationInfo>{

    @Schema(description = "活动ID，关联到活动表", type = "Long", implementation = Long.class)
    @TableField("event_id")
    private Long eventId;

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "报名用户ID", type = "Long", implementation = Long.class)
    @TableField("user_id")
    private Long userId;

    @Schema(description = "报名时间", type = "LocalDateTime", implementation = LocalDateTime.class)
    @TableField("registration_time")
    private LocalDateTime registrationTime;

    @Schema(description = "支付状态（0: 未支付, 1: 已支付）", type = "Boolean", implementation = Boolean.class)
    @TableField("payment_status")
    private Boolean paymentStatus;

    @Schema(description = "支付金额，用户报名时实际支付的金额", type = "BigDecimal", implementation = BigDecimal.class)
    @TableField("payment_amount")
    private BigDecimal paymentAmount;

}
